Code generator



2 Sheets-Sheet 1 CODE' GENERATOR B. W. KIPPENHAN FIG'. 1

COUNTER INVENTOR BEvERLY WILLIAM KIPPENHAN ATTQRNEY April 28, 1959 B. w. KlPPl-:NHAN 2,884,625

' CODEl GENERATOR Filed Oct. 18, 1955 2 Sheets-Sheet 2 FIG. 2

Il M 4 M 3 M 2 M i o 1 o 1 o 1 o 1 I l FF FF FF F F 4 I 1 1 l RESET 11 12 .13 14 I l l 2o\ 21\ 1 22\ i COUNTER PULSES I Y Il L-- l T 5o 40 45 GT GT Y 51 PA y f 0 R 48 OR 49 OR 44 Y 141 42 i *ja l F F FF FF FF K 1 K 2 K3 P INVENTOR BEVERLY WILLIAM KIPPENHAN ATTORNEY CODE GENERATOR Beverly'William Kippenhan, Poughkeepsie, N.Y., assignor to International Business Machines Corporation, New York, N. a corporation of New York Application October 18, 1955, Serial No. 541,245 5 Claims. (Cl. 340-345) `This invention relates to an electrical error checking apparatus and more particularly to an apparatus for gener'ating parity, error detecting, and error correcting signals for error detection and correction purposes.

vIn large scale digital computing apparatus, information is transferred from place to place within the computing system many times before a problem is solved. In order toderive an accurate solution it is essential that any errors resulting from a faulty transfer be detected and corrected or the word eliminated. If information is checked immediately after each transfer from place to place within themachine, errors occurring as a result of faulty transfer can be detected and the word caused to be re-transmitted correctly. The use of a checking systemAon point to point transfer of information aids the computer to reach an accurate result thereby saving computer time by eliminating the requirement for recalculating an erroneous result.

One method of detecting errors is the employment of a single code bit, sometimes referred to as a redundancy bit or a parity bit, to indicate whether the number of predetermined symbols represented in binary form is even or odd. Such a system is capable of detecting a single erroror any odd number of errors which may occur as a Vresult of faulty transfer. By employing more than one code bit for error detection purposes a'larger percentage of errors resulting from faulty transfer may be detected. The use of more than one code bit for detecting isolated errors which may have resulted from any one of several types of faulty transmission is disclosed in an article entitled Error Detecting and Error Correcting Codes by R. W. Hamming in the Bell System Technical Journal, volume XXIX, April 1950, and in U.S. Patent Re. 23,601 of Hamming et al. By expanding the numberv of code bits, Hamming shows that it is possible t-o detect and correct one or more errors with various codes.

An object of this invention is to provide a novel circuit that can generate a code for use with data or information.

Anotherobject of this invention is to provide a novel parity generator that can determine the requirements for parity directly from a counter circuit.

A further object of this invention is to provide a relatively inexpensive and eflicient parity generator which is easy to construct and economical to maintain.

A still further object of this invention is to provide a novel parity generator that automatically generates the proper parity for a count as the count is being generated.

VAnother object of this invention is to provide a novel device for generating error checking'and error correcting codes.

Still another object is to provide a novel apparatus'for generating error checking and error correcting codes with a relatively small number of components.

A further object is to provide a novel device for generating error detecting and error correcting codes wherein the correcting or checking codes are originated simultaneously as the count is generated in a counter system.

.A still further object ofthis invention is to provide a novel device for generating error detecting codes or error 'I correcting codes characterized by simplicity and a small number of parts resulting in economy of construction i and maintenance.

Other objects of the invention will be pointed out in the following description and claims and illustrated in the accompanying drawings, which disclose, by way of example, the principles of the invention and the best mode,

which has been contemplated, of applying those principles.

In the drawings: Figure 1 shows in block diagram form a system for generating proper parity in accordance with the principles of the present invention.

Figure 2 shows in block diagram form a system for generating error detecting and error correcting signals in accordance with the principles of the present invention.

A register enclosed in the dotted line block 10 in Fig. 1 is composed of flip-flops 11 through 15 wherein the flip-flop 11 represents the 2 order in binary representation, the flip-flop 12 the 21 order, the ip-llop 13 the 22 order and so forth. Each of the flip-flops is a bistable device wherein one of the stable states is referred to as the Zero state and the other as the One state. The stable states are indicated on the drawing by a 0 and 1. Each of the flip-flops 11 through 15 is set in the Zero state of conduction by a pulse applied to the line labeled Reset. center of each flip-flop serves to complement or reverse the state of flip-flop. These flip-flops may be any suitable one of several well known types, but preferably they are of the type shown and described in copending application Serial Number 414,459 entitled Electronic Digital Computer, led March 5, 1954 by B. L. Sarahan et al.

Gates 2li through 23, enclosed within the dotted line block 24, are connected to the One output side of corresponding flip-flops 11 through 14 of register 10, and perform in conjunction with these Hip-flops as a counting device to establish a count of the pulses received on the line labeled Counter Pulses. These gates are logical And circuits, sometimes shown as coincidence gates, which require energization of all inputs simultaneously in order to yield an output. Although these gates may be any suitable one of several well known varieties, they preferably are of the type shown and described in the above mentioned copending application.

In operation the Reset line is pulsed to reset all flipflops to the Zero state. A first counter pulse subsequently received on the line labeled Counter Pulse causes flip-Hop 11 to be complemented to the One state. The complement operation of changing a flip-flop from its existing stable state to the opposite stable state may be accomplished in several ways. One method of accomplishing this, as shown in the above cited copending application, is to apply a single pulse to both input circuits simultaneously. A second counter pulse complements the flip-Hop 11 back to the Zero state and passes through ments flip-flop 11 to the Zero state, passes through gate 20 and complements flip-liep 12 to the Zero state and passes through gate 21 to complement flip-flop 13 to the One state. By following in a similar manner the operations as further counter pulses are successively applied,

it can be seen that the counter gates enclosed within the l dotted line block 24 in conjunction with the register enclosed within the dotted line block 10 perform as a counter circuit.

A pulse `applied to the input at the Gates 30thu'gh 32, enclosed Within the dotted ne m6251533; serve" as parity gates-'fof automatically'g'ene 't-v ing the correct parity simultaneously as the counting operation is effected. The output o f gates 3.0 throughl 32 is connected thoughfa 'Or` eircif34', which may be' anyv I suitable one yof many"types Well lsno'vvn' to ythsef'slrilled l in'""th`e`"art',to they complement input of'a iplop' labeled Parity Flip-Flop. If a register has 21? s'tagesUorfo-rders, the Yparity gates will have'then-"DCLv level inputs connectedfto'the Zero outputs yotpthe'bistable'elements` 'of 10 the 2m stages or orders'wh'ere n is anypositiveintegler includingiiero and '111 Vis *anyy even positive iinte gerv-'Hirlcluding"zero'. Accordingly 'gates 30 "to y32 `have'their D. C.' inputs connected to the Zero side of hip-flops 11,v 13Mand 15 which represent the respective orders of '29, 22 and v24. In order to illustrate howr'thcorrect parity generation is 'automatically achieved, assume *that* theregister 10 has its flip-flops 11 through 15 cleared-'to the Zero state by `a pulse on the Resetiline.r The iirst counter pulse applied tov fthe'coml'nleir'ientY input of Hip-1101511, gates 20'ar1dV 30 fails to pass the vcounter gate since this gate is receiving a negative D C. level from flip-flop 11 which is in they'Ze'ro state. The parity gate( 30 on'the other hand is conditioned with a positive`D.C. level from the Zero side of the Hip-flop 11 and passes the firstV counter pulse 25 throu'ghthey Or circuit 34 to the complement inputjof the parity ilip-op which,A having been previously left in the Zero state by a reset pulse,`is complemented to the One state. This Aiirst counter pulsev complements dipop 11 to the One state. It is pointed out thatr the reso- 30 lution timeof ip-op 11,v thetime necessary for this Hip-flop to change yfrom one stable state to the opposite stable state, is suiciently great for the first counter pulse to ypass through the gate circuit before the pop'll'changes from the Zero to the One state in re- 35 sponse to this rst input pulse. After the rst counter pulse, the rcount stored in register 10 is One and the parity flip-flop is in the One state indicating a parity of One if an even parity is used. The status of the' parity flip-flop may be sampled for the purpose of indicating- 40 a parity of the counter contents or employed as an ad ditional bit with the counter bits to assure that'the total number of Ones is always odd or even. If an'odd paty* system is used the Zero output side of the parity flip-flop may be employed for the generation of a signal repreand the parity gate 30 passes a pulse which complementsv 55 the parity flip-op to the Zero" state; "A fourth Vcounter pulsecomplements the flip-flop 11 to the `Zeo'state',V passes" through the counter gate `20ar1d complements ythe flipiiop'12^to the Zero state and thenpasses through 'the counter gate 21v to complement the hip-flop" 13 to the/H60 One state; simultaneously Withthese'zlevents the parity" gatel 31 passes a pulseto complement the parity ilip-o'pv to theOne state. A iifth counterpulse complements "the ip-flop 11 to the'One -state, and passes throughthev parity gate 30 to complement the parity'ipflop'to the 65 Zero state. A sixth counter pulse complements the flipop 11)to the Zero state, 'passes the counter" gate 20 Vto complement the hip-flop A12 to the One .state and leaves thefpaiity ilip-ilop unchanged. A seventh'counter pulse s complements the flip-Hop y11 to the VOne state, and passes` k70 the parity gate 30 to complement Vthe *parityip'op Vto thefOne state. An `eighth counter pulse complements the ip'ops 1 1, 12 and 13 to the Zero state and the i flop 1'4 to'tlieOnestate.A Aninthcuterpulse'conple?" ments the flip-flop 11 to the One state as it pasfses. 1116,75

4 l parity gate 30 to complement the parity ip-flop to the One'sta'te." Thus it is`seei"that'asthecountergates` 20` through 23 cause the count to be generated and stored in register 10, the parity gates 30 through 32 cause the correct parity to be generated and stored in the parity ilip-op. The above describedoperations are tabulated for convenience of inspectionin'Table I below.

Table I Flip-Flops Count yEven Parity 0 0 0 0 0 0 1 1 0 0 O 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 A 0 1 0 0 ,v 0 1 0 0 1 0v 0 1 0 The (correctness of 1the 1'count `and parity' gene-ration for additional pulsescan beiveried by continuing'inthe manner above described.A p y l p y y K If the 'column'flabeled Evenv/Parity 'in -Table I 'is leX-"f aminedjit becomes readily'apparent that pairs of numbers" recurin 'their' true or complement form. Forexainple the first pair' (0 and 1l) representsthe parity indicators 4f for the` counts 'of' zero' and one"respectively;- lwhereas/jl second pair (l and 0) represents theparityv for ,the counts "A, of 2 and 3 respectively Not that"the'parity 'in dcfat'o'll'sl (l land 0) of the i second'pair are the Acomplement of' parity indicators (0 and 1) of the first pair.`` Itllcran e"` seen by further inspection that' the' parity"indicaitorfsjl (1001) for the respective counts ofv4, 5, y6 and? arev the complement of the parity indicators`(0110) for'the respective counts of 0, 1, 2 and 3. It can be shown'fby expanding' theV parity land the -count columns 'in'TableI that the parity indicators (taken as a column) progrs-v sively generate larger serieswhch follow'tbe same'patf'" tern, i.e., each further'fseries is the complement of allfj the precedingjseries. This recurring pattern is illustrated in Table II below.

Table II Respectve Count Parity L p Series Indicators A definite pattern` can be seenV by notingfthatseiies?. in Table `II is the complement of series 1, that series' 3 is 'the complement of both series 1 and series'2, and'that series 4 is the'complementof series 1, series 2 and'se-A ries 3. This recurring pattern 'continues on for higher* counts.

It can be 'seenthat this recurring pattern'ds'generated"l in the parity iplop'of Fig. 1 if thev parity gatel tubes are placed on the Zero Output side of'each ip-opl representing Aa orderr,rwhjere` M Ais any'ev'en positivel integer"` including Vzero) and these gatesv are sampled by the pulse" that complements the associated ip-op. n five 'strage counter circuit'of Fig/ureA 1 meets all requirements nec essary to generateproper parity indicators for a circuit' 0f .tyre AInyiew f the' foregoing explanafiol, lit is, within theprovince :of oneskilled'in 'the artfto increase* or diminish the numberof stages in the circuit olr'fliigld infforder to meet the "demands ofpar'ticular system re? quf'mil'fS-i" t, a

There hasfbeen shouf/n" andl described" one' 011ffrifuif"fg'gusfisginput pule's- Acjcbri the principles ofthe present invention, the novelA result of generating parity is secured by the inclusion of a small number of gate circuits, one Or circuit and a storage device (exemplified herein by a ilip-op). Since the parity is provided automatically and simultaneously with the count, valuable computer time may be saved.

Reference is made to Fig. 2 wherein the circuit in block schematic form serves to illustrate how the principles of the present invention can be employed to generate signals for error correcting and error detecting purposes. A seven position code with parity is selected to further illustrate the principles of the present invention althoughother codes are equally applicable.

Within dotted line block 40 is a four-stage counter circuit which is equivalent to the register and gates 24 of Fig. 1, and since the construction and operation of each counter is the same, the reference numerals used in Fig. 1 are employed to designate corresponding parts in Fig; 2. The output lines from flip-hops 11-14 of the counter 40 provide information or data signals which it desired to convey to a load device not shown while output lines from p-ops 41-44 provide error detecting and error correcting signals which are conveyed with the information signals. These output signals are-D.C. level signals which may be converted, if desired, to pulse signals by any suitable means such as gates, for example.

In order to generate error detecting and error correctingsignals simultaneously with the count generated in counter 40, the counter pulses applied to llip-op 11 and gate 20 are also applied to gate 45. If conditioned by the. zero output of the hip-flop 11, gate 45 passes the pulses through an Orcircuit 46 to a power amplifier 47 where suitable amplification takes place. Pulses from the power amplitier 47 are applied directly to the complement input of ip-iiop 42 and through Or circuits 48 and k49 to the respective complement inputs of flip-ops 41 and 43. Thus a pulse from gate 45 serves to reverse the state of the ip-iiops 41-43. When a pulse is passed by the gate 20 in the counter 40, it is applied to the gate 21 and the flip-flop 12 in order to generate the proper count and to a gate 50 for the purpose of generating error detecting and error correcting signals. Pulses from the gate 50 are applied through an Or circuit 51 to the complement input of the ip-op 44 and through the Or circuit 48 to the complement input of the flip-flop 41. Thus a pulse passed by gate 50 serves to reverse the state of the iiip-ops 41 and 44. If the gate 21 in the counter 40 passes a pulse, it not only helps to generate the proper count, but also reverses the stateof the flip-flop 43 since the output of the gate 21 is coupled through Orcircuit 49 to the complement input of the liip-op 43. Whenever the gate 22 passes a pulse, all of the ip-flops 41-44 reverse their state since the pulse from the gate 22 is applied through the Or circuit 51 to the complement input of the ip-op 44 and through the Or circuit 46 and associated circuits to the complement inputs of the lliptlops 41-43.

`In order to illustrate the operation of the circuit in Fig. 2, assume that all of the flip-flops are set to the zero state. by pulsing the Reset line and that the counter 40 is operated by applying pulses to the line labeled Counter Pulses. 'The first counter pulse is passed by gate 45 since the `ip-op 11 is in the zero state; consequently the flipop 11 `is complemented to the One state. The pulse from gate 45 passes through the Or circuit 46, the power amplifier 47 to the complement input of ip-llop 42 and through Or circuits 48 and 49 to the complement inputs of respective Hip-flops 41 and 43. Thus the counter 40 indicates a count of one and flip-ilops 41 through 43 each indicate a one as error detecting and correcting signals. Thelparity 'Hip-flop 44 is in the zero state indicating a parity of zero. y

Thev 2nd counter `pulse complements flip-op 11 to the zero state and this second counter pulse is passed by gate 20 since Hip-flop 11`was` in the one state. The pulse passed by the gate 20 is applied to the complement input v the zero state to the one state.

of iiip-op 12 to change it to the onestate, andthe pulse` from gate 20 is also applied to the gate 50 which passes this pulse to the Or circuit 48 and to the complement input of Hip-flop 41 to reverse this ip-ilop to the zero state. The pulse from gate 50 is also applied through Or `ing and correcting signals of 011 respectively. The parity ip-op 44 indicates a parity of one.

If a 3rd counter pulse is received, the ilip-flop 111everses from the zero state to the one state, and gate 45 1 passes a pulse since flip-flop 11 was in the zero state.

This pulse is conveyed to the complement input of ipops 41'through 43 to reverse their states. After the 3rd counter pulse is received, the counter 40 indicates a count of three and the flip-ops 41 through 43 indicate v100l respectively as error detecting and correcting signals. The parity flip-hop 44 remains unchanged, indicating a parity of one.

The 4th counter pulse causes flip-flop 11 to be complemented to the zero state as gate 20 passes this pulse f to the gate 21 and to the ilipflop 12, thereby changing it to the zero state. Since the flip-flop 12 was previously in the one state, gate 21 passes the pulse to the complement input of the flip-op 13 and to the Or circuit 49, thereby complementing the flip-flop 13 to the one state' and complementing the ip-op 43 to the one state. v After the 4th counter pulse is received, the counter 40 v indicates a count of four; the ip-ops 41 through 43 indicate lOl respectively as the error detecting and correcting signals; and the parity ip-flop 44 remains in the one state, indicating a parity of one.

Upon receipt of the 5th counter pulse, the Hip-Hop 11 is complemented to the one state as the gate 45 passes a pulse which causes flip-tlops 41 through 43 to be comf y plemented. Thus after the 5th counter pulse is received, the counter 40 indicates a count of iive; while the ilipflops 41 through 43 indicate O10 respectively as the 4 error detecting and correcting signals; and the parity flip-op 44 continues to indicate a parity of one.

The 6th counter pulse received complements flip-flop 11 to the zero state as gate 20 passes a pulse to the cornplement input of flip-flop 12 and to the gate 50. Thus..

ip-flop 12 is complemented to the one state as the pulse from gate 50 is passed by the Or circuits 48 and 51 to complement the respective ip-flops 41 and 44. After indicating a parity of zero.

Upon receipt of the 7th counter pulse, flip-liep 11 is vrcomplemented to the one state as the gate 45 passes a pulse which complements the flip-flops 41 through 43. Thus the counter 40 now indicates a count of seven and the ilip-ops 41 through 43 indicate error detecting and correcting signals 001 respectively. The parity iiip-op ;remains in the zero state, indicating a parity of zero.

Upon receipt of the 8th counter pulse the gates 20, 21 and 22 pass this pulse. Accordingly p-ops 11, 12 and 13 are each complemented from the one state to the zero state, and the flip-flop 14 is complemented from- Further the pulse passed by gate 21 is applied to the Or circuit 49 to complement flip-flop 43; whereas the pulse passed by the gate 22 is applied to the Or circuit 51 to complement the parity flip-Hop 44 from the zero to the one state; and the pulse from the gate 22 is also applied to Or circuit 46 which is passed in turn by the power ampliiier 47 to complement flip-ops 41 through 43. Although the 0r circuit 49 is pulsed by the output from gate 21 as well as the output from power amplifier 47, it serves eiectively to supply a single inputA totheripeopa.

Sth'i'c'oifritr pulse is received by the counter 40V it indi-I indicate j fan"errorl detecting land correcting code of 110 respectively.' Thefparity ip-op is changed to the one state` and'noW vindicates a parity ofV one."

The"`9th-courite`yr pulse received by thel counter` 40" cause'sthe dip-flop 11 to'be complemented to the one 'state as `the gate 4S passes a pulse fwhich complementsthe' ipops 41 through 43; y Thusthe counter 40 indicates a count of'n'ineand the'ip-ops '41 throughV 43 indicate catiga parity of one.

Thevalidity ofthe' generationof the count; parity and l error 'detection *andv correction' code for additionalv pulsesv up'to ftee'njjcan be verified by continuingin the above described manner.

The four out" of seven code is tabulated for collven-` ience of 'inspection in Table III below. Symbols'Kl4 through' K3' are used to represent the status of the flipthrough Mgarev used to represent the status of theipparity tlip-'liop'frepresentediby"the` lsyrnbolv `P, indicates parlty' ofl al1 bits.

Table Ill Pulse K1 K2 Ka M1 Mn M3 M4 P- H l (even) 0 0 0 0 o o 1 1 1 0 0 0 1 o 1 1 0 0 1 o f 1 o o o 0 1 1 1 f 0 1 0 1 o o o 1 o 0 1 o 1 1 v 1 o 0 1 1 0 0 o 1 0 1 1 1 1 1 0 1 0 o o o 0 1 1 0 0 1 1l 0 1 1 o 1 o 0 1 0 1 0 v 1 1 o 1 1v 1 1 o 0 1 0 l. 0 1 1 y0 1 0 0 0 1 1 1 o 1 1 1 1 1 1 1 The error detecting."andi-correcting 'codes' representedv byjjKhfKz arlciiKs inTableIII exhibit a pattern which can 'be`det`ermired from` Table IV below.

Table IV count Series Action The 'lumn' labeled series in'rable 1V shows when f,

like combin'at'ions :ofthe-codes K1, Kgand K3taken Table vIII recur. The'codes'UOO and 111 forthe yrespec-v tive Counts lof 0v 'arldd arerepresentedfas 'xseriesh the codesnv'OI 1V 'and v'100 for the i'espectiye counts 2 and 3 are"` represented'as'series v2; While the; codes- 101 m1411010 for re'sjjectivel counts'4 and 5 ,areA` representedas series l3";

mnthffpvarious voniissioilsfand. substitutionsandl chailges-l n of complemltingthe"ipfop '43"`(K3"), The Fig, 2 serve to perform'` on"`the"`iplflop`s `41`"743"'those" manipulations indicated inthe "Ac`tion"coluirilfztof` ITable IV simultaneously as Vvthe' count V'is generated'in "the" counter" 40.k v There has''1beeiisi'l'citv'liA and described a'noVeI generati" apparatus "wherein "a count fand' 4an 'error' 'detecting and correctingl code are generatedsimultaneously# Als The 'siz'e'rfof the counter aswell as the type nd"'l11`1i1'ibr" the'fo'riri and details of the devicer illustratedand'ini opelation'may be made bythoseskilledin "the"jart"witll;l outfdeparting from"t-he` spirit offthe invention. '"'It'is tl'fe'E intention 'Lh-frerto be limited only 'as 4indicated"byv scope 'ofi the following claims;

1. An apparatus' for automatically generatiilglpatjf including' in conl'biiiation a register; ycounting measand Pa". generation` means; saidregisterinclldiilgma phil"n rality of 'flip-flops connected together in binary ff fashion and representingpZnord'ers Where any 'positive' integer includin'gizero'and 'the 1 outp'ut offaHifi-'flopt'D is conneefedto thewinput ofjitsgsuces'sive' gpzf said" yparity/ generation nleans 'comprising' a'pll'ir'alltyv'ff parity gates each of`whi`ch is `coupled'to an'altente'" flip-'Hop' land conditioel'to passpulses"Whenmitscoiff# sponding ip-op is in its 0 state, anv Or circuiffoiJ orrings'the outputs" of veact/l parity 'gateto'slaid'parity geneation`me`rls, means) for simultaneously 'apply-'"1 ingc'ount'ingpulseslto Aslaidiirst pf'lop and? '(I" parity l,gatejwh'ereby' the parity generatin'nrean s actu-' ated yto generatea pulse `at the s'alrieitin'le' 'thatthe do is generate'din the register `and`in 'accodan'cewiththe" numbe'of the\"1 state/seXist/ijng" aid"register-Ll i n 2. A code'l generator flor'nprodilcln'gsigiialswindeatife*` of Vthe parity'of the bits representing ajivord b form cdipigirig aplurjality orlliplfleprielem ts' y nected irilpirrary Counting fashion, aparit'y "oit'gelfe'r" r,l`r`v an'fOr circuit in series"withr said paitybt generator af plurality of gatingeleients coupled'toalterirate'ftlipgl elernerits'sothateach: gate is in its open condition'wlie" its lassociated flip-.tiop element is in a predeteriniiledfstaflf state, each 'gatinglelereit'being coupledfto said'Or 'circuit, means"for`sin'1u1ta`neously applyingisignalso fbel counted' to said `rstipflop l[and said y'rst 'gating element:` whereupon one 'or more of said gates'will be vopen to transmit a signal pulse to said parity generator through said Or gate as said iiip-flops respond in binary counting fashion to such counting signals, whereupon said parity generator will generate a parity bit whenever the total number of such flip-flops residing in the same stable state is of a predetermined parity.

3. A code generator for producing signals indicative of the parity of the bits representing a word in binary form comprising a plurality of bistable elements connected in binary counting fashion, a parity generator for generating a signal indicative of whether the number of similar states of said bistable elements is even or odd, a iirst plurality of gating elements wherein each gating element couples adjacent bistable elements to cause said bistable elements to count in a binary fashion, a second plurality of gating elements wherein each gating element of said second group couples preselected ip-flops to said parity generator, means for simultaneously applying pulses to be counted to the iirst flip-flop, first gating element of said iirst group of gating elements and iirst gating element of said second group of gating elements, each gating element being open or closed in the presence of a counting pulse in accordance with the stable state conditions of such nip-flops whereby said parity generator is rendered operative to produce a signal pulse indicative of the parity of the number of similar states of said plurality of bistable elements.

4. An apparatus for automatically generating parity including in combination a register, a source of pulses to be counted and parity generation means, said register being connected in binary counting fashion and including n flip-flops representing 2n orders where n is any positive integer and each flip-flop has two stable states indicative of the presence or absence of a count in such iiip-ops, a first group of (n-l) gating elements wherein each of said group of gating elements couples adjacent ip-ops of said register, a second group of gating elements wherein each element of said second group couples an associated one of alternate dip-flops of said register with said parity generation means, means for simultaneously applying said pulses to be counted to the rst flip-flop, rst gating element of said iirst group of gating elements and iirst gating element of said second group of gating elements, each gating element being open or closed at the appearance of a counting pulse in accordance with the stable state conditions oi such ip-ops at the time of appearance of such counting pulse whereby said parity l@ generation means is rendered operative to produce a signal pulse in accordance with the parity of ls stored in said register.

5. An apparatus for automatically generating parity including in combination a register, counting means and parity generation means; said register including flip-flops representing 2n orders where n is any positive integer including zero, said flip-Hops each having a complement input and first and second outputs; said counting means comprising a plurality of counter gates, one inter-mediate each order of said ip-iiops, each counter gate having a D.C. input, a pulse input and a pulse output, a source of pulses to be counted, the pulse input of said 20 counter gate being connected to said source of pulses to be counted, said D.C. input of each counter gate being connected to said iirst output of said ip-ops in the corresponding order, said pulse output of each counter gate being connected to the pulse input of the next higher order gate and to the complement input of the next higher order flip-op whereby said counting means cause the count to be effected and stored in the iiip-fiops comprising said register; said parity generation means comprising a parity gate for each ip-flop in the 2nl order where m is any even positive integer, each parity gate having a D.C. input connected to said second output of the flip-flop in the corresponding order, the 20 parity gate having a pulse input connected to said source of pulses to be counted, the remaining parity gates associated with alternate higher orders and each having a pulse input connected to the pulse output of the counter gate in the next immediate lower order, an Or circuit, said parity gates having a pulse output connected to said Or circuit, a parity iiip-op having a complement input, said Or circuit having an output connected to the complement input of said parity flip-liep whereby in response to pulses from said source of pulses to be counted said register and counter gates cause both a count to be effected and stored in said register and said parity gates to automatically cause proper parity to be established in said parity flip-op.

References Cited in the file of this patent UNITED STATES PATENTS 2,609,143 Stibitz Sept. 2, 1952 2,634,052 Bloch Apr. 7, 1953 2,674,727 Spielberg Apr. 6, 1954 2,719,959 Hobbs Oct. 4, 1955 2,724,104 Wild NOV. 15, 1955 

